Methods and systems for merging software-level objects with document-level objects in a document publishing environment

ABSTRACT

Methods and systems are disclosed for generating, managing, and publishing documents based on document level objects and software level objects . In one aspect of the present invention, a method is provided for managing documents in a computing system environment. The method may include identifying a placeholder object included in a document having a document level object, the placeholder object having metadata corresponding to a software level object. Further, the method includes generating a query message based on the placeholder object and identifying software level object content based on the query message. The software level object content may be in a first format based on a first set of constraints. The method may also include providing a response message including the software level object content and transforming the format of the software level object content included in the response message to a second format based on a second set of constraints. In one aspect, the document level object is configured in the second format. The transformed software level object content may be merged in the document based on the placeholder object in the document. Based on the transformed software level object, an output document may be generated such that the software level object content replaces the placeholder object in the output document.

TECHNICAL FIELD

The present invention generally relates to document management systems and, more particularly, to systems and methods for merging software-level objects with document level objects in a document publishing environment.

BACKGROUND

The advent and growth of the World Wide Web and networking software enable private individuals and business personnel to access information from an increasing number of sources, such as web servers, database servers, enterprise systems, and other forms of information storage systems. The information provides data for certain business processes. Accordingly, businesses rely on systems and techniques that ensure the correct data is generated and displayed as content on a user's computer display device.

To ensure the consistency of displayed information, businesses continue to harness various technologies associated with distributed systems to develop and provide specialized services. One type of technology that is gaining popularity are web services designed for business processes. A business web service is system functionality that is accessible over the Internet, an Intranet, and even an Extranet, using standard web-based protocols (e.g., Hyper Text Transfer Protocol (HTTP)). Such services may provide content that is configured and published using description languages, such as Hyper Text Transfer Markup Language (HTML) and eXtensible Markup Language (XML) interfaces and messages. Accordingly, business process services are an ideal way for businesses to provide services in heterogeneous environments where a consumer of these services may be a user operating a desktop, an application program, or even another business process hosted on any number of different platforms.

Although service technologies allow businesses to publish and retrieve information through a network, the dynamic nature of business requires the information to be constantly updated. For example, a business that provides a product may offer a user manual for the product in the form of an electronic document (i.e., on-line user manual) provided on a Web page served by a Web server. Because the product may evolve into later versions, the business must in turn update the user manual. A simple update to the manual may require many changes to the content associated with the document. Further, problems may arise when different types of updates to the manual originate from different sub-entities of the business, such as a marketing division and a design and manufacturing division. Therefore, the business has to manage the changes originating from different sub-entities to ensure the document is created, edited, and published (e.g., served on the Web site) efficiently.

Accordingly, there is a need to for a mechanism that enables a business to create, edit, and manage document, and edit documents based on changes from different sources within or external to the business.

SUMMARY

Aspects of the present invention are directed to methods and systems for merging software level objects and document level objects of different formats into a common format for publishing the document with content associated with the software level objects. In one aspect of the present invention, a method is disclosed for managing documents in a computing system environment. The method may include identifying a placeholder object included in a document having a document level object, the placeholder object having metadata corresponding to a software level object. Further, the method includes generating a query message based on the placeholder object and identifying software level object content based on the query message. The software level object content may be in a first format based on a first set of constraints. The method may also include providing a response message including the software level object content and transforming the format of the software level object content included in the response message to a second format based on a second set of constraints. In one aspect, the document level object is configured in the second format. The transformed software level object content may be merged in the document based on the placeholder object in the document. Based on the transformed software level object, an output document may be generated such that the software level object content replaces the placeholder object in the output document.

In another aspect of the invention, a system is disclosed for managing documents including a processor system and a memory system for storing processes. In one aspect, the memory system may include a first process executed by the processor system to retrieve a document including a document level object and a placeholder object associated with metadata corresponding to a software level object and provide a query message identifying the metadata. The first process may also receive a response message including software level object content that is configured in a first format based on a first set of constraints. Further, the first process may transform the format of software level object content included in the response message to a second format based on a second set of constraints. In one aspect, the document level object is configured in the second format. The first process may also merge the software level object content and document level object into an output document. Additionally, the memory system may include a second process executed by the processor system to create the software level object and identify the software level object content based on the metadata identified by the query message. Further, the second process may provide the response message to the first process in response to the query message. The first process generates the output document based on the transformed software level object content and document level object such that the software level object content replaces the placeholder object in the output document.

The foregoing background and summary are not intended to be comprehensive, but instead serve to help artisans of ordinary skill understand the following implementations consistent with the invention set forth in the appended claims. In addition, the foregoing background and summary are not intended to provide any independent limitations on the claimed invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this specification, show certain aspects of the present invention and, together with the description, help explain some of the principles associated with the invention.

FIG. 1 illustrates a block diagram of an exemplary system environment consistent with certain aspects related to the present invention;

FIG. 2 illustrates a block diagram of exemplary objects and an output document consistent with certain aspects related to the present invention;

FIG. 3 illustrates a flowchart of an exemplary document management process consistent with certain aspects related to the present invention; and

FIG. 4 illustrates a flowchart of an exemplary transformation process consistent with certain aspects related to the present invention.

DETAILED DESCRIPTION

The following description refers to the accompanying drawings, in which, in the absence of a contrary representation, the same numbers in different drawings represent similar elements. The implementations set forth in the following description do not represent all implementations consistent with the claimed invention. Instead, they are merely some examples of systems and methods consistent with certain aspects related to the invention.

Overview

Methods and systems consistent with certain aspects of the present invention manage the creation, modification, and publication of a document. In one aspect of the invention, a first process may manage the creation, modification, and publication of a document including document level objects (e.g., content, such as text, graphics, etc.) and one or more placeholder objects that are associated with a software level object maintained by a second process, such as an code element including object class definitions and executable methods of one or more computer programming languages, such as the Java programming language from Sun Microsystems, Inc. In one aspect, a document level object may represent an object including non-executable data, such as text, graphics, etc. In contrast, a software level object may represent an object including data that is executed by a computer process or is used by the computer process to execute other executable code. For example, a software level object may include class definition information, methods that may be invoked by software processes, and any other form of data that is used or executed by a software process. Software level objects may include metadata describing the data associated with the software level object.

In one aspect of the invention, the first process may be a content management software process executed by a computing system associated with a business entity that includes one or more business units. A business entity may represent an organization that performs business, such as a company that manufactures products, a corporation that manages information etc. A business unit may represent a division, group, etc. of the business entity. The one or more business units may execute the second process via the computing system or a second computing system.

In one aspect, the first process may extract information corresponding to a placeholder object in a document based on a software level object. To do so, the first process may analyze the placeholder object in the document to identify metadata associated with a software level object maintained by the second process. Content corresponding to the software level object is collected by the second process and provided to the first process where it is merged with other content included in the document. In one aspect, the first process may transform the software level object content into a common format with document level objects included in the document. The objects are then merged into the document such that the content corresponding to the software level object is inserted for content corresponding to the placeholder object. The document may then be formatted into an output document that is made available to one or more computing systems over a network or similar medium.

Accordingly, aspects of the present invention allow document level objects to be maintained and managed in a different process and/or format than software level objects. Methods and systems consistent with the present invention may work across independent processes to seamlessly integrate the objects to form information used for producing output documents for publishing, such as generating Hypertext Markup Language (HTML) data from transformed XML data obtained from the two different processes.

The foregoing discussion is intended to introduce and provide initial clarity for some of the aspects associated with the present invention. Further details of the above-mentioned functionality and additional aspects, features, and embodiments of the present invention are described below.

Exemplary System Environment

FIG. 1 illustrates a block diagram of an exemplary system environment 100 consistent with certain aspects related to the present invention. As shown, system environment 100 includes a content management system 110, a business unit process 120, and a content server 130.

Content management system 110 may be a computing system that performs content management for document creation, modification, and publication. A document may be an object, such as a shell document, that includes a combination of objects that may include data, such as content to be rendered in a user interface. For example, a document may be an XML formatted document representing a user manual for a software application that is provided by a business entity. Alternatively, the document may represent a Web page including content corresponding to one or more objects, such as an on-line user help page including one or more menu paths that a user may select for assistance in the form of information on selected topics. For instance, the Web page may include document level objects (e.g., Graphical User Interface (GUI) data (e.g., text, graphics, etc.) associated with the Web page or particular menu paths). As explained, document level objects may include non-executable data (e.g., content). Accordingly, the Web page may include document level objects, such as text or graphics that are not needed by any software processes to generate the Web page or collect its content for publication. Further, the exemplary Web page may include software level objects, such as the menu paths that direct a user browsing the page to selected information, graphics, addition software executed data, etc.

Due to the dynamic nature of Web page content, the menu paths, among other data, may be updated from time to time as the business entity refines the on-line help offered through the Web page. To facilitate the editing of the Web page, one or more placeholder objects may be created and placed in the Web page document. Each placeholder object may correspond to information that may change based on data associated with the placeholder object. To illustrate this example, consider a menu path included in the above described exemplary Web page. To update additional on-line help features, the menu path may require changes such that it directs a software process to one or more updated data and/or document or software level objects. To facilitate this updating, aspects of the present invention may implement a placeholder object with the menu path object that is used to direct a software process operating, for example, in content management system 110 to a software level object including content that corresponds to the menu path object. The software level object content may be generated, maintained, and updated by another software process and inserted in the document by content management system 110 in accordance with certain aspects related to the present invention.

Content management system 110 may include components consistent with computing systems, such as processors, memory, and input/output devices that enable documents to be created and edited via content management software that is executed by a processor. In one aspect, content management system 110 includes a content management process 112 that may be a software process executed by one or more processors. In one aspect, content management process 112 may include one or more processes that perform document management. The one or more processes may include merging component 113 and publishing component 114. Merging component 113 may be a process executed by a processor and configured to receive information, such as content corresponding to a placeholder object included in a document. Further, merging component 113 may merge that information with the content existing in the document in accordance with certain aspects of the present invention described below.

Publishing component 114 may be a process executed by a processor and configured to produce an output document that is formatted for publishing based on the merging functions performed by merging component 113. Publishing component 114 may implement document processes that analyze the requirements, constraints, and definitions of objects to generate the output document. For example, publishing component 114 may convert the document content into HTML content based on XML description data corresponding to the document. Once the output document is generated, publishing component 114 may then generate a published document 140 from the output document. Published document 140 may be, for example, an electronic document that is accessible by one or more computing systems (not shown). For instance, published document 140 may represent a Portable Document Format (PDF) document that is served on a Web page and accessible over the Internet by a user operating a computing system with a Web browser. In alternative aspects of the present invention, output document may be provided to a remote publishing system (not shown) that converts the output document into published document 140.

Business unit process 120 may be a software process executed by a processor. In one aspect, business unit process 120 may be a process executed by one or more computing systems operated by a business unit of a business entity. Although aspects of the present invention describe business unit process 120 in this manner, it should be noted that business unit process 120 is not restricted to being associated with a business unit or any particular business entity. Indeed, business unit process 120 may be a process performed by a processor implemented by a computing system that is affiliated or not affiliated with a business. Further, business unit process 120 may be implemented within content management system 110. In one aspect of the invention, business unit process 120 may create and modify software-level objects. A software level object may refer to an object including data (e.g., content such as button text of a GUI represented in a properties file) and metadata describing the data. Business unit process 120 may be configured to identify, integrate, and analyze disparate business data from heterogeneous sources, such as other business sub-entities of the business entity, and provide software level objects (e.g., content describing a different version of a product described in a user manual document created and managed through content management system 110).

In accordance with certain aspects of the invention, a user operating a computer system implementing business unit process 120 may generate one or more software level objects for use in association with the document level objects corresponding to a document maintained by either content server 130 and/or content management system 110. The software level objects may be updated by business unit process 120 without affecting the format and description of the document level objects managed by content server 130 and/or content management system 110. In some instances, however, configuration settings associated with the software level objects may require adjustment based on the updates to the software level objects. For example, an update to a software level object may be stored in a repository location different from the original software level object (e.g., unchanged version). Accordingly, configuration settings must be updated to ensure direct content management system 110 is directed to the repository storing the updated object.

Content server 130 may be one or more computing systems that manages and provides data used by content management system 110 to provide published document 140. Content server 130 may include one or more databases 132 that store the data served by content server 130. For example, database 132 may store document information, such as content and placeholder objects, that are used by content management system 130 for generating and publishing document 140. Further, content server 130 may provide document format information used by content management system 110 to publish document 140, such as XML style sheets, document level object information, etc. Content server 130 may also be software processes executed by one or more processes

FIG. 1 also shows interconnections 150 between content management system 110 and business unit process 110 and content server 130. Interconnections 150 may each be one or more communication networks that facilitate communications between the components of computing environment 100. Based on the configuration of environment 100, interconnections 150 may include one or more of an Extranet, an Intranet, the Internet, a Local Area Network (LAN), public switch telephone network, Integrated Services Digital Network (ISDN), radio links, Global System for Mobile Communication (GSM), and any other form of wired or wireless communication networks. Accordingly, each of interconnections 150 may be compatible with any type of communication protocol used by the components of environment 100 to exchange information, such as Transmission Control/Internet Protocol (TCP/IP), Hypertext Transfer Protocol (HTTP), Wireless Application Protocol (WAP), XML, Wireless Markup Language (WML), etc.

Although FIG. 1 shows business unit process 120, content management system 110, and content server 130 as separate entities, aspects of the present invention may be implemented by a single computing system executing business unit process 120, content management process 112, and server processes consistent with the functions performed by content server 130.

Generating a Document for Publication

As explained, aspects of the present invention enable content management system 110 to generate an output document based on document level objects managed by a first process and software level objects managed by a second process. To better illustrate these aspects of the present invention, FIG. 2 shows a block diagram of a software level object 210, a document level object 220, and an output document 230. As shown, software level object 210 may include content 212, such as data (e.g., executable code, etc.) associated with a menu path of a Web page document. Software level object 210 may also include metadata 214 that corresponds to content 212. Document level object 220 may include content 221 that may reflect data that is included in a document. Content 221 may reflect fixed data that is not intended to change when the document is updated, although content 221 may be updated through document formatting techniques, such as XML editing processes performed by content management system 110. For example, content 211 may include data describing a class of products that a business entity provides. As shown, content 221 may be associated with a placeholder object 222 that reflects a portion of document level object 220 that is associated with data that is not maintained within the document and may be remotely updated. Placeholder object 222 may be configured with metadata information that corresponds to metadata 214 of software level object 210. For instance, placeholder object 222 includes “<metadada1>” that corresponds to “Metadata1” 214 of software level object 210. Aspects of the present invention leverage the use of placeholder object 222 in document level object 221 to produce output document 230. In one aspect, output document 230 shows the result of merging component 113 merging software level object content 212 with document level object 220 based on metadata 214 and placeholder object 222. For example, output document 230 includes the data “100” in placeholder object portion 232 that corresponds to placeholder object 222 and metadata1.

Although software level object 210 and document level object 220 are shown with multiple content, metadata, and/or placeholder objects, aspects of the present invention may implement software level objects that include a single content 212 and corresponding metadata 214 and document level objects that include a single content 221 and corresponding placeholder object 222.

FIG. 3 shows a flowchart of an exemplary document management process performed by components of system environment 100 consistent with certain aspects related to the present invention. Initially, a user may operate a computer system that implements content management process 110 and executes software processes for generating and editing documents in a source format, such as a document description language format (e.g., XML). Leveraging the software processes, the user may generate and insert document markup information (e.g., XML description data) into a first document (Step 310). The functional markup information may include content reflecting data that is included in the first document, such as text for a user manual. Further, the markup information may include one or more placeholder objects, each representing data that may change, such as a version of a product described by the text in the user manual, part numbers, etc. A placeholder object may include metadata that describes or identifies a repository of a corresponding software level object.

In certain aspects, the user providing the one or more placeholder objects may not have knowledge of the source of content associated with these placeholder objects. Rather, the user may simply know what kind of content the placeholder object represents. For example, the user may insert a placeholder object representing content associated with a menu path on a Web page. In this example, the user does not know where the actual content associated with the menu path is located, only that the user wants the document to include content describing the appropriate information corresponding to the menu path in a particular location on the document. Content management process 120 may be configured to process the one or more placeholder objects to identify metadata corresponding to one or more software level objects that host the appropriate content for each of the one or more placeholder objects.

Additionally, content management process 120 may generate format information associated with the first document and based on the markup information generated by the user. The format information may include a document definition including an XML vocabulary describing certain features associated with the functional markup information for the document. The document, along with its functional markup information and format information, may be provided to and stored in database 132 managed by content server 130.

In one aspect, content management system 110 may receive a request to publish the first document. As noted, the first document includes content and one or more placeholder objects. The placeholder objects may not be configured in a format to produce content, but rather includes metadata associated with corresponding software level objects managed by business unit process 120. Accordingly, content management process 120 may retrieve the document markup information associated with the first document from content server 130. Further, business unit process 120 may identify a placeholder object that may be included in the first document and use the metadata in a placeholder object to generate a query message for obtaining the content corresponding to the placeholder object (Step 320). Content management process 120 may then send the query message to business unit process 120 (Step 330). In certain aspects of the present invention, content management system 110 formats the query message to include user supplied information and/or configuration information. User supplied information may include, for example, a technical name of the content associated with the software level object content corresponding to the placeholder object. Configuration information may include an identifier of a repository of the software level object. In one aspect, the configuration information may correspond to the metadata of the placeholder object.

In response to the query message, business unit process 120 uses the metadata to identify a software level object associated with one or more placeholder objects. In one aspect, business unit process 120 may use the configuration information included in the query message and metadata to determine which repository or system should be accessed to retrieve the requested software level object. Additionally, business unit process 120 may use the configuration information in the query message to determine what document description language, computer programming language, protocol, etc., should be used to access the software level object. For instance, by using the metadata associated with each placeholder object, business unit process 120 can locate a repository storing a particular software level object corresponding to a placeholder object in the first document and associated with the query message. Based on the identification, business unit process 120 may collect and insert the appropriate the software level object content into a response message. Once business unit process 120 collects the software level object content corresponding to the placeholder objects associated with the query message, it may insert the content into a response message (Step 340). Alternatively, business unit process 120 may generate a response message for each placeholder object associated with a separate query message sent by content management system 110. Thus, the response message may include the software level object content corresponding to each one of the placeholder objects included in the document. In certain aspects, business unit process 120 formats the response message into an XML stream, such as a SOAP message including an XML serialized representation of the software level object. Once generated, business unit process 120 sends the response message to content management system 110 (Step 350). Once the response message is received, content management process 120 leverages merging component 113 to perform a transformation process that transforms the software level object content and merges the content into the first document in accordance with certain aspects of the present invention (Step 360).

FIG. 4 shows a flowchart of an exemplary transformation process consistent with these aspects related to the present invention. The transformation process may include transforming the software level object content included in the response message provided by business unit process 120. (Step 410). In certain aspects of the present invention, this transforming may include generating an instance of the software level object content that follows a first set of document constraints, such as a new XML vocabulary associated with the software level object content. Document constraints, such as an XML vocabulary, may refer to element specifications for a document. For example, a set of constraints (e.g., an XML vocabulary) may refer to a Document Type Definition (DTD). Document constraints may also may define document types for some or all of a document. Thus, a new XML vocabulary corresponding to the XML stream provided by business unit process 120 may define document type definition data corresponding to the software level object content for each of the placeholder objects. The first set of document constraints (e.g., the new XML vocabulary) may be different from a second set of document constraints (e.g., a second XML vocabulary) associated with the document level objects corresponding to the content included in the first document.

For example, the XML stream may include software-oriented XML data having a first format, such as an XML format similar to the format of software level object content. For instance, the software level object information included in the XML stream may include XML software elements, such as a property or identifier name corresponding to the software level object content. A document-level object may be configured in a second format that is different from the first format, such as an XML format that is content oriented, meaning the object may include provisions for tables, lists, etc. Accordingly, aspects of the present invention perform a transformation process that transforms the first formatted software level object content (e.g., software-level object XML format) into the second format (e.g., new vocabulary) corresponding to the document-level objects (e.g., document-level object XML).

In certain aspects of the invention, content management system 110 may transform the format of the instance of the software level object content such that it follows the same set of constraints as followed by the document level objects in the document. For example, content management system 110 may convert the software level object content from following a first XML vocabulary associated with the software level object maintained by business unit system 120 to following a second XML vocabulary followed by the document level objects in the document.

In one aspect of the invention, merging component 113 may collect the content corresponding to the one or more placeholder objects and merges the content into the document. (Step 420). In one aspect, merging component 113 may generate an output document by inserting the software level object content into portions of the first document associated with the corresponding placeholder object. Thus, the software level object content may replace the placeholder content in the output document. Alternatively, the software level object content may enrich the placeholder content by providing additional information or software code that is used in conjunction with information or code included in the placeholder object.

Merging component 113 may provide the output document to publishing component 114 for formatting into a published document. Publishing component 114 may format the first document according to the format information associated with the first document (e.g., style sheet data, XML vocabularies corresponding to the software level object content and the document level object content, etc.) into a published document 140 (Step 430). Once formatting is complete, content management system 110 may then make published document 140 available to other computing systems using one or more types of electronic publishing delivery mechanisms, such as Web service processes, providing the document over a network to requesting entities, etc.

In accordance with certain aspects of the present invention, content management process 120 may transform the format of a software level object content into a format common to document level objects for publication. For example, the native format of a software level object may be different from the format of a document level object. Accordingly, during the transformation process, merging component 113 may transform the software level object content into a first format, such as an XML Localization Information File Format (XLIFF) that is a format type intended to be understood by other processes and providers of information. From this format, merging component 113 may convert the first formatted software-level object content into an exchange-oriented format. For example, merging component 113 may insert the XLIFF formatted objects into particular bit locations of an Information and Content Exchange (ICE) data. Based on the exchange-oriented format, merging component 113 may convert the exchange-oriented formatted data to a format suitable for merging the data in to the document. For example, merging component 113 and/or publishing component 114 may convert the software level object content into HTML formatted data. It should be noted that the above types of formats are exemplary. Methods and systems consistent with certain aspects of the present invention may implement various types of formats for the software level object content and document level object content, as well as the intermediary formats used to convert this information into a common format for publication in a published document.

Aspects of the present invention also allow the software level object content managed by business unit process 120 to be updated without affecting the document level object content and documents managed by content management system 110. For example, a user may leverage business unit process 120 to modify the content of a software level object. When content management system 110 provides a query message with metadata associated with the modified software level object content, the modified content is sent in the response message. Accordingly, when the software level object content is merged with document level object content in an output document, the modified software level object content is included in the output document generated by merging component 113 and in the published document provided by publishing component 114.

CONCLUSION

The above described user interfaces are exemplary and are not intended to be limiting. For purposes of explanation only, certain aspects of the present invention are described herein with reference to the components illustrated in FIG. 1. The functionality of the illustrated components may overlap, however, and may be present in a fewer or greater number of elements and modules. Further, all or part of the functionality of the illustrated elements may co-exist or be distributed among several geographically dispersed locations. Moreover, embodiments, features, aspects and principles of the present invention may be implemented in various environments and are not limited to the illustrated environments. For example, aspects of the present invention may configure content management system 110 to include a software process that dynamically generates a placeholder object. For instance, the software process may execute a content search tool that locates names of software level object content that may be included in the document and automatically generates a placeholder object for the corresponding software level object.

Further, the sequences of steps described in FIGS. 3 and 4 are exemplary and not intended to be limiting. Thus, other method steps may be used, and even with the methods depicted in FIGS. 3 and 4 the particular order of events may vary without departing from the scope of the present invention. Moreover, certain steps may not be present and additional steps may be implemented in FIGS. 3 and 4. Also, the processes described herein are not inherently related to any particular apparatus and may be implemented by any suitable combination of components.

The foregoing description of possible implementations consistent with the present invention does not represent a comprehensive list of all such implementations or all variations of the implementations described. The description of only some implementation should not be construed as an intent to exclude other implementations. Artisans will understand how to implement the invention in the appended claims in many other ways, using equivalents and alternatives that do not depart from the scope of the following claims. Moreover, unless indicated to the contrary in the preceding description, none of the components described in the implementations are essential to the invention. 

1. A computer-implemented method for managing documents in a computing system environment, comprising: identifying a placeholder object included in a document having a document level object, the placeholder object having metadata corresponding to a software level object; generating a query message based on the placeholder object; identifying software level object content based on the query message, the software level object content being in a first format based on a first set of constraints; providing a response message including the software level object content; transforming the format of the software level object content included in the response message to a second format based on a second set of constraints, wherein the document level object is configured in the second format; merging the transformed software level object content in the document based on the placeholder object in the document; and generating an output document based on the transformed software level object content and document level object such that the software level object content replaces the placeholder object in the output document.
 2. The method of claim 1, wherein a first process executed by a processor maintains and manages the document level object and a second process maintains the software level object.
 3. The method of claim 1, wherein generating the query message includes: inserting, based on the placeholder object, configuration information in the query message, the configuration information identifying a repository that stores the software level object.
 4. The method of claim 3, wherein identifying software level object content includes: analyzing the configuration information in the query message to locate the repository.
 5. The method of claim 4, wherein providing the response message includes: collecting the software level object content from the repository; and inserting the software level object content in the response message.
 6. The method of claim 1, wherein providing the response message includes: providing the response message as an XML stream of data.
 7. The method of claim 6, wherein a first process generates the query message and a second process provides the response message to the first process.
 8. The method of claim 7, wherein the software level object content includes executable code that is modifiable by the second process.
 9. The method of claim 1, wherein the merging step is performed by a first process and the method further includes: modifying, by a second process, the software level object content; receiving, by the second process, a second query message that includes the metadata associated with the software level object; and providing, by the second process, the modified software level object content to the first process in a second response message such that the first process merges the modified software object content and the document level object into the document.
 10. The method of claim 9, wherein the second query message includes configuration information that identifies a repository that stores the modified software level object content, and wherein providing the modified software level object content further includes: collecting the modified software level object content from the repository, wherein a second repository stores the unmodified software level object content.
 11. A system for managing documents, comprising: a processor system; and a memory system for storing processes including: a first process executed by the processor system to retrieve a document including a document level object and a placeholder object associated with metadata corresponding to a software level object, provide a query message identifying the metadata, receive a response message including software level object content that is configured in a first format based on a first set of constraints, transform the format of software level object content included in the response message to a second format based on a second set of constraints, wherein the document level object is configured in the second format, and merge the software level object content and document level object into an output document; and a second process executed by the processor system to create the software level object, identify the software level object content based on the metadata identified by the query message, and provide the response message to the first process in response to the query message, wherein the first process generates the output document based on the transformed software level object content and document level object such that the software level object content replaces the placeholder object in the output document.
 12. The system of claim 11, wherein the second process maintains the software level object in a repository identified by the metadata.
 13. The system of claim 11, wherein the first process generates the query by inserting, based on the placeholder object, configuration information in the query message, the configuration information identifying a repository that stores the software level object.
 14. The system of claim 13, wherein the second process analyzes the configuration information in the query message to locate the repository.
 15. The system of claim 14, wherein the second process provides the response message by collecting the software level object content from the repository and inserting the software level object content in the response message.
 16. The system of claim 11, wherein the second process provides the response message as an XML stream of data.
 17. The system of claim 11, wherein the software level object content includes executable code that is modifiable by the second process.
 18. The system of claim 17, wherein the first process is configured to generate the output document based on the executable code included in the software level object content and without the document level object.
 19. The system of claim 11, wherein the second process modifies the software level object content, receives second query message that includes the metadata associated with the software level object, and provides the modified software level object content to the first process in a second response message.
 20. The system of claim 19, wherein the first process merges the modified software object content and the document level object into the output document such that the modified software level object content replaces the placeholder object in the output document. 